5b3c80277181aa7c1290b45f8a8e5c058df5ed6c,src/freenet/node/MemoryChecker.java,MemoryChecker,run,#,35

Before Change


		
		Runtime r = Runtime.getRuntime();
		
		Logger.normal(this, "Memory in use: "+SizeUtil.formatSize((r.totalMemory()-r.freeMemory())));
		
		if (r.freeMemory() < 8 * 1024 * 1024) { // free memory < 8 MB
			Logger.error(this, "memory too low, trying to free some");

After Change


		Runtime r = Runtime.getRuntime();
		
		long totalMemory = r.totalMemory();
		long freeMemory = r.freeMemory();
		long maxMemory = r.maxMemory();
		
		Logger.normal(this, "Memory in use: "+SizeUtil.formatSize((totalMemory-freeMemory)));
		
		if (freeMemory < 8 * 1024 * 1024 // free memory < 8 MB
		        && (totalMemory == maxMemory || maxMemory == Long.MAX_VALUE)) { // we have allocated max memory